let 左侧高度 = 0,
  右侧高度 = 0,
  标签,
  搜索词 = '',
  搜索结果 = '',
  是否触底 = false,
  加载数量 = 0,
  图片列表 = []
import {
  baiduSugrec,
  baiduSearch
} from '../../../../utils/http'
Page({
  data: {
    leftList: [],
    rightList: [],
    showSearchResult: false
  },
  /**
   * 输入框聚焦时
   * @param {*} e 
   */
  inputFocus() {
    if (搜索词) {
      this.sugrec()
    } else {
      this.setData({
        showSearchResult: false
      })
    }
  },
  /**
   * 输入搜索词
   * @param {*} e 接收值
   */
  bindinput(e) {
    搜索词 = e.detail.value
    if (搜索词) {
      this.sugrec()
    } else {
      this.setData({
        showSearchResult: false
      })
    }
  },
  inputBlur(e) {
    this.setData({
      showSearchResult: false,
    })
  },
  /**
   * 关联词查询
   */
  async sugrec() {
    try {
      let 百度结果 = await baiduSugrec(搜索词)
      console.log(百度结果)
      let 关联词结果 = JSON.parse(百度结果.substr(1).slice(0, -1)).g
      this.setData({
        showSearchResult: true,
        sugrec: 关联词结果
      })
    } catch (error) {
      console.log(error)
      return
    }
  },
  /**
   * 从关联词中选择
   * @param {*} e 
   */
  chooseWord(e) {
    搜索词 = e.currentTarget.dataset.word
    this.setData({
      searchWord: 搜索词,
      leftList: [],
      rightList: [],
      showSearchResult: false,
    })
    是否触底 = false
    加载数量 = 0
    this.search()
  },
  /**
   * 点击“搜图”按钮
   */
  searchBtnClick() {
    if (!搜索词 || 搜索词 == '') {
      wx.showToast({
        title: '请输入关键词',
        icon: 'error'
      })
      return
    }
    this.setData({
      leftList: [],
      rightList: [],
      showSearchResult: false,
    })
    是否触底 = false
    加载数量 = 0
    this.search()
  },
  /**
   * 开始搜索
   */
  async search() {

    try {
      wx.showLoading({
        title: '加载中...',
      })
      搜索结果 = await baiduSearch(搜索词, 加载数量)
      wx.hideLoading()
      搜索结果 = 搜索结果.data
      // console.log('搜索结果', 搜索结果)
    } catch (error) {
      console.error(error)
      return
    }
    if (typeof 搜索结果 != "object") {
      加载数量 += 30
      this.search()
      return
    }
    if (搜索结果.length < 31) {
      是否触底 = true
    }
    图片列表 = []
    for (const index in 搜索结果) {
      if (index >= 搜索结果.length - 1) {
        break
      }
      图片列表.push(搜索结果[index])
    }
    this.isLeft();
  },
  async isLeft() {
    let 左侧图列表 = this.data.leftList
    let 右侧图列表 = this.data.rightList
    标签 = wx.createSelectorQuery();
    for (const item of 图片列表) {
      左侧高度 <= 右侧高度 ? 左侧图列表.push(item) : 右侧图列表.push(item);
      await this.getBoxHeight(左侧图列表, 右侧图列表);
    }
  },
  getBoxHeight: function (leftList, rightList) {
    return new Promise((resolve, reject) => {
      this.setData({
        leftList,
        rightList
      }, () => {
        标签.select('#left').boundingClientRect();
        标签.select('#right').boundingClientRect();
        标签.exec((res) => {
          左侧高度 = res[0].height;
          右侧高度 = res[1].height;
          resolve();
        });
      });
    })
  },

  previewImage(e) {
    wx.previewImage({
      current: e.currentTarget.dataset.current, // 当前显示图片的http链接
      urls: [e.currentTarget.dataset.current],
      showmenu:true,
    })
    // wx.downloadFile({
    //   url: e.currentTarget.dataset.current,
    //   success: (msg) => {
    //     wx.showShareImageMenu({
    //       path: msg.tempFilePath
    //     })
    //   },
    //   fail: err => {
    //     console.error(err)
    //   }
    // })
  },
  onLoad: function (options) {
    搜索词 = ""
    是否触底 = false
  },

  onReachBottom: function () {
    if (!是否触底) {
      加载数量 += 30
      this.search()
    } else {
      wx.showToast({
        title: '已经到底啦！',
        icon: 'none'
      })
    }
  },
  onShareAppMessage() {
    return {
      title: "在线搜图，应有尽有",
      path: "/pages/imageTools/pages/baiduImages/index",
      imageUrl: '/images/function_icon/search_image.png',
    }
  },
  onShareTimeline() {
    return {
      title: '在线搜图，应有尽有',
      imageUrl: '/images/function_icon/search_image.png',
    }
  },
})